The present invention relates to a system for editing transformation tables that are used to convert color values between different color spaces. It finds particular application in conjunction with converting color values between colorimetric and device dependent color spaces and will be described with particular reference thereto. It will be appreciated, however, that the invention is also amenable to other like applications.
Color signals or values produced by or for one device, such as a color scanner, often need to be output to or represented by another device, such as a printer or display, which may operate according to a different color space. In this case, the color signals must be transformed between the color spaces. The color signals are typically stored in a colorimetric color space (e.g., L*a*b* color space) and transformed into various device dependent color spaces (e.g., RGB, CMYK, etc). The transformation process between the various color spaces often includes interpolating values extracted from a transformation table, which represents the values of a multidimensional transformation function. Each entry in such a transformation table represents, for example, a CMYK value that should be used to print a color with a particular L*a*b*.
The characteristics of imaging devices, such as printers and displays, often change over time, so it is sometimes necessary to modify the transformation table to compensate for these changes. The transformation tables are also optimized for a generic image, so that it is sometimes necessary to change the transformation table to optimize the appearance of a particular image. For these, and many other reasons, it is sometimes necessary to modify the transformation table.
It is to be understood that if the transformation table is modified, the corresponding transformation function is modified accordingly. Furthermore, it is desirable to ensure that any modification made to the transformation table does not introduce irregularities (e.g., color reversals or non-monotonicities) into the corresponding function. Until now, it has not been possible to modify a color transformation table using a graphical user interface while preserving smooth, monotonic behavior in the corresponding transformation function.
The present invention provides a new and improved method and apparatus which overcomes the above-referenced problems and others.
A method for editing a transformation function, which defines a relationship between a first color space and a second color space, receives an image in the first color space and produces first and second outputs of the image in the second and a third color space, respectively. The first output is related to the image in accordance with the transformation function. A portion of the second output that corresponds to a portion of the first output including a color to be modified is selected via a graphical user interface. A desired amount to modify the color is specified. A correction function is determined in accordance with the desired amount. The transformation table is edited in accordance with the correction function.
In accordance with one aspect of the invention, the correction function is determined as a monotonic function.
In accordance with another aspect of the invention, noise is spatially filtered and/or satellites are discarded from the portion of the first output.
In accordance with another aspect of the invention, the first and second outputs are produced on a video display device and an output device, respectively. Furthermore, the selecting step includes sweeping an indicator across the video display device via the graphical user interface.
In accordance with another aspect of the invention, the specifying step includes indicating the desired amount via the graphical user interface.
In accordance with another aspect of the invention, the determining step includes calculating a potential correction function and determining if the potential correction function is monotonic. If the potential correction function is non-monotonic, the potential correction function is scaled according to a weighting function to make the potential correction function monotonic and the potential correction function is assigned as the correction function.
In accordance with a more limited aspect of the invention, the step of determining if the potential correction function is monotonic includes determining ∂V2i/∂V1j=xcex4ij+xcex1*Di*∂ƒ(U)/∂Uj, where ƒ(U)=the weighting function, V2=V1+ƒ(U)*D is the correction function, U=xcex1*(V1xe2x88x92V0), V1=the color in the first color space, V0=a center of the region to be modified, D=the desired color shift in the center of this region, V2=the corrected color in the first color space, and xcex1=a scaling factor.
In accordance with a more limited aspect of the invention, the editing step includes ensuring a sampling in the table is sufficient to preserve an adequately sampled representation of the weighting function.
In accordance with a more limited aspect of the invention, the ensuring step includes checking if a distance Dxe2x80x2 between the current adjustment point V0 and any previous adjustment points is greater than a predetermined threshold T1. If the distance Dxe2x80x2 is greater than the threshold T1, a check is made to determine if the weighting function ƒ(U) at a table node nearest to V0 is greater than a predetermined threshold T2. If the weighting function ƒ(U) at the table node nearest to V0 is greater than the predetermined threshold T2, the table in a vicinity of V0 is modified to ensure an adequate representation of the weighting function.
In accordance with a more limited aspect of the invention, the editing step includes changing the scaling factor xcex1 until ƒ(U) at the table node nearest to V0 is less than T2.
In accordance with a more limited aspect of the invention, the editing step includes resampling the table nodes to have finer sampling in the vicinity of V0.
In accordance with another aspect of the invention, the second output is produced via a digital output device and a corrected second output is produced via the digital output device.
One advantage of the present invention is that it modifies color transformation tables while preserving smooth, monotonic behavior.
Another advantage of the present invention is that it uses an average color for a region.
Another advantage of the present invention is that it samples a transformation table to accurately capture modifications made in the transformation function so that the system response is modified in a smooth manner.
Another advantage of the present invention is that it may permanently modify an output device""s profile.
Still further advantages of the present invention will become apparent to those of ordinary skill in the art upon reading and understanding the following detailed description of the preferred embodiments.